This invention relates to a method of producing a duplication of a database capable of accomplishing a high-performance processing for writing differential data and historical update log data over copy data of the database.
A conventionally known method of database fault recovery is designed to write, over copy data, the database updating log data since the acquisition of the copy data, as described in a publication entitled "An Introduction to Database Systems, Vol. II" by C. J. Date published by ADDISON-WESLEY PUBLISHING COMPANY in 1983, page 20.
Copying all data stored on a magnetic disk or the like takes too long a time to copy. Therefore, according to the conventional technique, in order to confine the object of copying to portions which have been altered by job executions since the previous backup operation, a magnetic disk unit or the like is provided with a control memory for recording the updated portions and a means of transferring the contents of the control memory to the host system for the backup operation. The host system issues a command for reading only updated portions to the magnetic disk unit in accordance with the contents of the control memory.
A conventionally known system of this kind is disclosed in Japanese Patent Unexamined Publication No. 57-90770, for example. This system has its magnetic disk unit or the like provided with a control memory for recording the location of data which have been altered by job executions, and at a backup operation, the host system reads the contents of the control memory and issues ad command only for the updated portions in order to request the controller of the magnetic disk unit or the like to read the updated data.
The system is thus capable of backing up only data portions in the database which have been revised during a particular period (these backup portions will be termed "differential copy"). In order to restore the contents of the database at the occurrence of a fault, it is necessary to write the differential copy data over the backed up data, which is the entirety of the database irrespective of the update history (this backed-up data will be termed "whole copy"), and overwrite the update log data of the database since the acquisition of the differential copy.
However, the system does not deal with the matter that a growing volume of differential copy data and update log data will result in a prolonged overwrite processing time prolonged copy duplication producing time, and eventually in the retardation of database recovery from a fault.
Database multiplexing is known as a method of enhancing the reliability of a database. The multiplexing method, which suffers a significant overhead of accessing multiplexed portions at each database updating, is replaced with another known multiplexing method which writes, over the copy data of a database at a point in time, the update log data since that time in order to alleviate the overhead of database updating, although it involves the retardation. However, this method does not consider the fact that a growing volume of update log data and differential copy data will exacerbate the retardation, as in the case of the fault recovery.
Moreover, the above-mentioned prior art necessitates writing the differential copy data and database update log data over the copy data sequentially in the order of the time of database update events, and therefore these data are stored in random locations in the external storage without the consideration of its physical location.